<?php

namespace AppBundle\Entity;

use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * Event
 *
 * @MongoDB\Document(repositoryClass="AppBundle\Entity|EventRepository")
 */
class Event
{
    private $event;
    /**
     * @var integer
     *
     * @MongoDB\Id
     */
    private $id;

    /**
     * @var string
     *
     * @MongoDB\String
     */
    private $title;

    /**
     * @var string
     *
     * @MongoDB\String
     */
    private $slug;

    /**
     * @var \DateTime
     *
     * @MongoDB\Date
     */
    private $eventStart;

    /**
     * @var \DateTime
     *
     * @MongoDB\Date
     */
    private $eventEnd;

    /**
     * @var \DateTime
     *
     * @MongoDB\Date
     */
    private $visibilityStart;

    /**
     * @var \DateTime
     *
     * @MongoDB\Date
     */
    private $visibilityEnd;

    /**
     * @var string
     *
     * @MongoDB\String
     */
    private $description;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set title
     *
     * @param string $title
     * @return Event
     */
    public function setTitle($title)
    {
        $this->title = $title;

        return $this;
    }

    /**
     * Get title
     *
     * @return string 
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Set slug
     *
     * @param string $slug
     * @return Event
     */
    public function setSlug($slug)
    {
        $this->slug = $slug;

        return $this;
    }

    /**
     * Get slug
     *
     * @return string 
     */
    public function getSlug()
    {
        return $this->slug;
    }

    /**
     * Set eventStart
     *
     * @param \DateTime $eventStart
     * @return Event
     */
    public function setEventStart($eventStart)
    {
        $this->eventStart = $eventStart;

        return $this;
    }

    /**
     * Get eventStart
     *
     * @return \DateTime 
     */
    public function getEventStart()
    {
        return $this->eventStart;
    }

    /**
     * Set eventEnd
     *
     * @param \DateTime $eventEnd
     * @return Event
     */
    public function setEventEnd($eventEnd)
    {
        $this->eventEnd = $eventEnd;

        return $this;
    }

    /**
     * Get eventEnd
     *
     * @return \DateTime 
     */
    public function getEventEnd()
    {
        return $this->eventEnd;
    }

    /**
     * Set visibilityStart
     *
     * @param \DateTime $visibilityStart
     * @return Event
     */
    public function setVisibilityStart($visibilityStart)
    {
        $this->visibilityStart = $visibilityStart;

        return $this;
    }

    /**
     * Get visibilityStart
     *
     * @return \DateTime 
     */
    public function getVisibilityStart()
    {
        return $this->visibilityStart;
    }

    /**
     * Set visibilityEnd
     *
     * @param \DateTime $visibilityEnd
     * @return Event
     */
    public function setVisibilityEnd($visibilityEnd)
    {
        $this->visibilityEnd = $visibilityEnd;

        return $this;
    }

    /**
     * Get visibilityEnd
     *
     * @return \DateTime 
     */
    public function getVisibilityEnd()
    {
        return $this->visibilityEnd;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return Event
     */
    public function setDescription($description)
    {
        $this->description = $description;

        return $this;
    }

    /**
     * Get description
     *
     * @return string 
     */
    public function getDescription()
    {
        return $this->description;
    }

    public function getEvent()
    {
        return $this->event;
    }

}
